#pragma once
#include "IApplication.h"
#include <QPixmap>

struct CmdInfo
{
	int cmdId = 0;
	int actualCmdId = 0;
	const char* parameters = nullptr;
	const char* title = nullptr;

	CmdInfo(int cmd, int baseCmd, const char* p, const char* t)
		:cmdId(cmd), actualCmdId(baseCmd), parameters(p), title(t)
	{

	}
};

class QWidget;
class IModule
{
public:
	virtual void initialize(IApplication* app) = 0;
	virtual void unInitialize() = 0;

	virtual int execCommand(CmdInfo ci) const = 0;//utf-8
	virtual bool closeCommandWindow(int cmdId, QWidget* widget) = 0;
};

//IModule* getModule();
